From 22100089c31bfbc5d2441ba045a4341b2f4d6ebc Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 20 Oct 2020 03:56:30 +0200 Subject: [PATCH] listbox: Reorder the widgets when sorting ... instead of just reordering the CSS nodes. --- gtk/gtklistbox.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c index 03334b477b..b6612f34c7 100644 --- a/gtk/gtklistbox.c +++ b/gtk/gtklistbox.c @@ -24,7 +24,6 @@ #include "gtkadjustmentprivate.h" #include "gtkbinlayout.h" #include "gtkbuildable.h" -#include "gtkcssnodeprivate.h" #include "gtkgestureclick.h" #include "gtkintl.h" #include "gtkmain.h" @@ -1260,22 +1259,14 @@ do_sort (GtkListBoxRow *a, } static void -gtk_list_box_css_node_foreach (gpointer data, - gpointer user_data) +gtk_list_box_reorder_foreach (gpointer data, + gpointer user_data) { GtkWidget **previous = user_data; GtkWidget *row = data; - GtkCssNode *row_node; - GtkCssNode *prev_node; if (*previous) - { - prev_node = gtk_widget_get_css_node (*previous); - row_node = gtk_widget_get_css_node (row); - gtk_css_node_insert_after (gtk_css_node_get_parent (row_node), - row_node, - prev_node); - } + gtk_widget_insert_after (row, _gtk_widget_get_parent (row), *previous); *previous = row; } @@ -1299,7 +1290,7 @@ gtk_list_box_invalidate_sort (GtkListBox *box) return; g_sequence_sort (box->children, (GCompareDataFunc)do_sort, box); - g_sequence_foreach (box->children, gtk_list_box_css_node_foreach, &previous); + g_sequence_foreach (box->children, gtk_list_box_reorder_foreach, &previous); gtk_list_box_invalidate_headers (box); gtk_widget_queue_resize (GTK_WIDGET (box)); -- 2.30.2